package dynamic.ibatis.executor.loader;

import dynamic.ibatis.reflection.factory.ObjectFactory;
import dynamic.ibatis.session.DConfiguration;



import java.util.List;
import java.util.Properties;

public interface ProxyFactory {

    default void setProperties(Properties properties) {
        // NOP
    }

    Object createProxy(Object target, ResultLoaderMap lazyLoader, DConfiguration configuration,
                       ObjectFactory objectFactory, List<Class<?>> constructorArgTypes, List<Object> constructorArgs);

}
